home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 1995 March / macformat-022.iso / Shareware City / Developers / MW MPW Binaries 1.1.1a2 / mwcPPC / MWCIncludes / float.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-07-18  |  1.7 KB  |  69 lines  |  [TEXT/MMCC]

  1. /* float.h standard header -- IEEE 754 version */
  2. #ifndef _FLOAT
  3. #define _FLOAT
  4. #ifndef _YVALS
  5. #include <yvals.h>
  6. #endif
  7.  
  8. #if __MWERKS__
  9. #pragma options align=mac68k
  10. #endif
  11.  
  12.         /* type definitions */
  13. typedef struct {
  14.     int _Ddig, _Dmdig, _Dmax10e, _Dmaxe, _Dmin10e, _Dmine;
  15.     union {
  16.         unsigned short _Us[6];
  17.         float _F;
  18.         double _D;
  19.         long double _Ld;
  20.         } _Deps, _Dmax, _Dmin;
  21.     } _Dvals;
  22.         /* declarations */
  23. extern const _Dvals _Dbl, _Flt, _Ldbl;
  24.         /* double properties */
  25. #define DBL_DIG            _Dbl._Ddig
  26. #define DBL_EPSILON        _Dbl._Deps._D
  27. #define DBL_MANT_DIG    _Dbl._Dmdig
  28. #define DBL_MAX            _Dbl._Dmax._D
  29. #define DBL_MAX_10_EXP    _Dbl._Dmax10e
  30. #define DBL_MAX_EXP        _Dbl._Dmaxe
  31. #define DBL_MIN            _Dbl._Dmin._D
  32. #define DBL_MIN_10_EXP    _Dbl._Dmin10e
  33. #define DBL_MIN_EXP        _Dbl._Dmine
  34.         /* float properties */
  35. #define FLT_DIG            _Flt._Ddig
  36. #define FLT_EPSILON        _Flt._Deps._F
  37. #define FLT_MANT_DIG    _Flt._Dmdig
  38. #define FLT_MAX            _Flt._Dmax._F
  39. #define FLT_MAX_10_EXP    _Flt._Dmax10e
  40. #define FLT_MAX_EXP        _Flt._Dmaxe
  41. #define FLT_MIN            _Flt._Dmin._F
  42. #define FLT_MIN_10_EXP    _Flt._Dmin10e
  43. #define FLT_MIN_EXP        _Flt._Dmine
  44.         /* common properties */
  45. #define FLT_RADIX        2
  46. #define FLT_ROUNDS        _FRND
  47.         /* long double properties */
  48. #define LDBL_DIG        _Ldbl._Ddig
  49. #define LDBL_EPSILON    _Ldbl._Deps._Ld
  50. #define LDBL_MANT_DIG    _Ldbl._Dmdig
  51. #define LDBL_MAX        _Ldbl._Dmax._Ld
  52. #define LDBL_MAX_10_EXP    _Ldbl._Dmax10e
  53. #define LDBL_MAX_EXP    _Ldbl._Dmaxe
  54. #define LDBL_MIN        _Ldbl._Dmin._Ld
  55. #define LDBL_MIN_10_EXP    _Ldbl._Dmin10e
  56. #define LDBL_MIN_EXP    _Ldbl._Dmine
  57.  
  58. #if __MWERKS__
  59. #pragma options align=reset
  60. #endif
  61.  
  62. #endif
  63.  
  64. /*
  65.  * Copyright (c) 1994 by P.J. Plauger.  ALL RIGHTS RESERVED. 
  66.  * Consult your license regarding permissions and restrictions.
  67.  */
  68.  
  69.